home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Languguage OS 2
/
Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO
/
language
/
sim
/
readme
next >
Wrap
Text File
|
1994-03-14
|
3KB
|
65 lines
The Real Time Recurrent Learning Algorithm was used to train a multi-layer,
feed-forward Artificial Neural Network controller to perform the function
of a Flight Test Maneuver Autopilot for a High Performance Fighter Aircraft
flight simulator. Derivative Arithmetic replaces the normal floating-point
arithmetic in a conventional computer model so that the partial derivatives
of the state variables at the next time step with respect to the state and
control variables at the current time step are computed along with the normal
result. These partial derivatives are propagated backward through the layers
of the network and used to update the total partial derivatives of the state
and control variables with respect to the biases and connection weights.
The AIAA Aircraft Controls Design Challenge computer model was converted
from FORTRAN 77 to C++ using A Fortran-to-C Converter so that a C++ class
could be used to implement derivative arithmetic.
The C++ Matrix class is used to implement the Artificial Neural Controller
and the Real Time Recurrent Learning Algorithm. The main program can be
used to train an Artificial Neural Controller for any nonlinear system
if source code for an accurate computer model is available.
The flight simulator is available via anonymous FTP from `ftp.cs.ucla.edu'.
Get the compressed tarfile, `/pub/simulator.tar.Z', uncompress it and extract
the `simulator' directory from `simulator.tar'. Then go to the `simulator'
directory and type `make'.
The flight simulator was used to train an Artificial Neural Controller to
fly a 2g coordinated turn at Mach 1 and 20000 feet. If you want to see
the simulator fly this turn, type `cp network.bak network.old' then type
`src/simulate -v'. The program will display state and control variables
every 127 time steps. Read the documentation in the `readme' file if
you want to see it LEARN to fly this maneuver.
Enjoy, Bob Tisdale (edwin@cs.ucla.edu)
P.S. I hope the following notes will be helpful.
unix% ftp ftp.cs.ucla.edu
Name (ftp.cs.ucla.edu:your_login_ID): anonymous
Password: your_login_ID
ftp> cd pub
ftp> binary
ftp> get simulator.tar.Z
ftp> bye
unix% uncompress simulator.tar.Z
unix% tar xvf simulator.tar
unix% cd simulator
unix% make
unix% cp network.bak network.old
unix% src/simulate -v
Note: ftp.cs.ucla.edu is an alias for internet-address 131.179.128.36
The C++ Matrix class can be obtained via anonymous FTP from
the same site in file `/pub/Matrix.tar.Z'. The `libI77.a' and
`libF77.a' Fortran libraries can be obtained via anonymous FTP
from `netlib.att.com:/netlib/f2c/'.
The Gnu C++ compiler, `g++', and library, `libg++', are required.
It has been tested on Sun SPARC computers running Solaris but
should compile and run on any UNIX workstation with a Gnu C++
compiler and library. Instructions for installing the Gnu C++
compiler and libraries can be obtained in either plain text or
texinfo format via anonymous FTP from `rtfm.mit.edu' from the
`/pub/usenet/news.answers/g++-FAQ' directory. I will be glad to
help anyone who wishes to port this code to other C++ compilers
if they are willing to make it available to others.